package utils

import (
	"crypto/md5"
	"fmt"
	"io"
	"log"
	"net/http"
	"strings"
)

// Md5 md5加密
func Md5(x string) string {
	data := []byte(x)
	has := md5.Sum(data)
	md5Str1 := fmt.Sprintf("%x", has)
	return md5Str1
}

// HttpGet 封装get请求
func HttpGet(url string) io.Reader {
	res, err := http.Get(url)
	if err != nil {
		log.Fatal(err)
	}
	if res.StatusCode != 200 {
		log.Fatalf("status code error: %d %s", res.StatusCode, res.Status)
	}
	//defer res.Body.Close()
	//sprintf := fmt.Sprintf("%s", res.Body)
	//fmt.Println(sprintf)
	return res.Body
}

// ReplaceAndTrim 替换行号和空格
func ReplaceAndTrim(str string, limit int) string {
	var str1 = strings.Replace(str, "\n", "", -1)
	var str2 = strings.Trim(str1, " ")
	i := len([]byte(str2))
	if i < limit {
		return str2
	}
	return str2[0:166]
}
